table of contents
TIMEGM(3) | Linux Programmer's Manual | TIMEGM(3) |
NAME¶
timegm, timelocal - inverses of gmtime and localtime
SYNOPSIS¶
#include <time.h> time_t timelocal(struct tm *tm); time_t timegm(struct tm *tm);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
timelocal(), timegm(): _BSD_SOURCE || _SVID_SOURCE
DESCRIPTION¶
The functions timelocal() and timegm() are the inverses of localtime(3) and gmtime(3).
CONFORMING TO¶
These functions are non-standard GNU extensions that are also present on the BSDs. Avoid their use; see NOTES.
NOTES¶
The timelocal() function is equivalent to the POSIX standard function mktime(3). There is no reason to ever use it.
For a portable version of timegm(), set the TZ environment variable to UTC, call mktime(3) and restore the value of TZ. Something like
#include <time.h> #include <stdlib.h> time_t my_timegm(struct tm *tm) {
time_t ret;
char *tz;
tz = getenv("TZ");
setenv("TZ", "", 1);
tzset();
ret = mktime(tm);
if (tz)
setenv("TZ", tz, 1);
else
unsetenv("TZ");
tzset();
return ret; }
SEE ALSO¶
COLOPHON¶
This page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
2007-07-26 | GNU |